/*
  映射(Maps)是无序的键值对：

    常用属性：
        keys            获取所有的key值
        values          获取所有的value值
        isEmpty         是否为空
        isNotEmpty      是否不为空
    常用方法:
        remove(key)     删除指定key的数据
        addAll({...})   合并映射  给映射内增加属性
        containsValue   查看映射内的值  返回true/false
        forEach   
        map
        where
        any
        every
*/

void main() {
  // 第一种maps方式
  var person = {
    "name": "张三",
    "age": 20,
    "work": ['工人', '农民']
  };
  print(person);
  print(person["name"]);

  print(person["work"] is List);

  var k = new Map();
  k["work"] = person["work"];
  print(k["work"][0]);

  // 第二种maps方式
  var p = new Map();
  p["name"] = "李四";
  p["age"] = 20;
  p["work"] = ['警察', '消防员'];
  print(p["work"][0]);

  print('---------------');

  person.addAll({
    "address": "汇智大厦",
    "codeArr": [12, 20, 45]
  });

  print(person.keys.toList());
  print(person.values.toList());
}
